#ifndef __SQLITEDATABASE_H__
#define __SQLITEDATABASE_H__

#include "stdDataBase.h"
#include <sqlite3.h>
#include <string>

class SqliteDataBase : public StdDataBase
{
public:
    SqliteDataBase();
    ~SqliteDataBase();

public:
    // 连接数据库
    bool connectDB(const std::string &connStr) override; // override表示派生类中的函数重写了基类的虚函数。
    // 当派生类的函数与基类的虚函数不匹配（比如参数、返回类型不同），编译器会报错提醒。
    // 这样能避免重写时出现拼写错误或参数错误

    // 执行Sql执行语句(exec)
    bool executeSql(const std::string &sql) override;

    // 执行Sql查询语句(select)
    QueryResult querySql(const std::string &sql) override;

    // 关闭数据库连接
    void close() override;

private:
    sqlite3 *m_db;

};



#endif // __SQLITEDATABASE_H__